package bin_tree.sort;

import java.util.Arrays;
import java.util.Random;

public class SortTest {
    public static void main(String[] args) throws Exception{
        //对比冒泡排序和堆排序在相同数量级上的排序性能
//        int n=10000;
//        int[] data1=new int[n];
//        int[] data2=new int[n];
//        SevenSort sort=new SevenSort();
//        Random random=new Random();
//        for (int i = 0; i < data1.length; i++) {
//            data1[i]=random.nextInt(Integer.MAX_VALUE);
//        }
//        //此时data2是data1的深拷贝
//        data2=Arrays.copyOf(data1,n);
//        //bubbleSort
//        //System.nanoTime - 取得当前系统时间，单位为纳秒 1ms=100w ns
//        long start=System.nanoTime();
//        long end;
//        sort.bubbleSort(data1);
//        if(isSorted(data1)){
//        end=System.nanoTime();
//        System.out.println("bubbleSort 共耗时："+(end-start)/1000000 +"ms");
//        }
//        //heapSort
//        start=System.nanoTime();
//        sort.heapSort(data2);
//        if(isSorted(data2)){
//            end=System.nanoTime();
//            System.out.println("heapSort 共耗时："+(end-start)/1000000 +"ms");
//        }

//        int n=1000000;
//        int[] arr=SortHelper.generateRandomArray(n,0,100);
//        int[] arrCopy=SortHelper.arrCopy(arr);
//        int[] arrCopy1=SortHelper.arrCopy(arr);
//        int[] arrCopy2=SortHelper.arrCopy(arr);
//        int[] arrCopy3=SortHelper.arrCopy(arr);
//        int[] arrCopy4=SortHelper.arrCopy(arr);
//        SortHelper.testSort("countingSort",arrCopy);
//        SortHelper.testSort("mergeSort",arrCopy1);
//        SortHelper.testSort("quickSort",arrCopy2);
//        SortHelper.testSort("quickSort2",arrCopy3);
//        SortHelper.testSort("quickSort3",arrCopy4);



        int[] arr={2,1,8,6,7,9,3,4,5};
        SevenSort sort=new SevenSort();
        sort.insertBase(arr,5,8);
        System.out.println(Arrays.toString(arr));
    }
}
